﻿using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // 创建一个字符串类型的栈
        Stack<string> stack = new Stack<string>();

        // 使用 Push 方法向栈中添加元素
        stack.Push("First");
        stack.Push("Second");
        stack.Push("Third");

        Console.WriteLine($"栈中有 {stack.Count} 个元素");

        // 使用 Peek 方法查看栈顶元素而不移除它
        Console.WriteLine($"栈顶元素是: {stack.Peek()}");

        // 使用 Pop 方法移除并返回栈顶元素
        while (stack.Count > 0)
        {
            string item = stack.Pop();
            Console.WriteLine($"移除了: {item}");
        }

        Console.WriteLine($"栈现在有 {stack.Count} 个元素");

        // 检查栈是否包含某个元素
        Console.WriteLine($"栈是否包含 'Second': {stack.Contains("Second")}");

        // 清空栈
        stack.Clear();
        Console.WriteLine($"清空栈后，栈中有 {stack.Count} 个元素");
    }
}